﻿using System;
using Onshi.POS.Modelo.Entidades.Tipos;

namespace Onshi.POS.Modelo.Entidades
{
    [Serializable()]
    public abstract class Domicilio : EntidadBase<Int32>
    {
        #region Constructores

        public Domicilio()
            : base()
        {

        }

        #endregion

        #region Atributos

        private TipoDomicilio tipo;
        private Barrio barrio;
        private String calle;
        private String numero;
        private String piso;
        private String departamento;
        private String observacion;

        #endregion

        #region Propiedades

        public TipoDomicilio Tipo
        {
            get { return tipo; }
            set { tipo = value; }
        }

        public Barrio Barrio
        {
            get { return barrio; }
            set { barrio = value; }
        }

        public String Calle
        {
            get { return calle; }
            set { calle = value; }
        }

        public String Numero
        {
            get { return numero; }
            set { numero = value; }
        }

        public String Piso
        {
            get { return piso; }
            set { piso = value; }
        }

        public String Departamento
        {
            get { return departamento; }
            set { departamento = value; }
        }

        public String Observacion
        {
            get { return observacion; }
            set { observacion = value; }
        }

        public Boolean TieneObservacion
        {
            get
            {
                if (observacion == String.Empty)
                    return false;
                else
                    return true;
            }
        }

        #endregion

        #region Metodos

        public override String ToString()
        {
            return String.Format("{0} {1} {2} {3}", calle, numero, piso, departamento).Trim();
        }
        
        #endregion
    }
}
